#pragma once
#include "PlayerStats.h"
#include "PlayerClass.h"
#include "Entity.h"

class Player :
	public Entity {
private:
	string 		 _playerName;
	PlayerClass* _playerClass;
	PlayerStats* _playerStats;
	Entity* 	 _playerTarget;
	void dummySetBaseStats();

public:
	Player(void);
	Player(string name, string classType);
	~Player(void);

	void setName(string name);
	string getName();
	void setTarget(Entity* target);
	Entity* getTarget();

	void setAlive(bool isAlive);
	bool isAlive();
	void setCombat(bool isInCombat);
	bool isInCombat();

	bool attack();
	void getAttacked(int damage);

	PlayerClass*& getPlayerClass();
	void setPlayerClass(const PlayerClass*& playerClass);
	const PlayerStats*& getPlayerStats();
	void setPlayerStats(const PlayerStats*& playerStats);

	PlayerClass* getClass();
	PlayerStats* getStats();
};
